package com.common.constants;

public interface ShiroConstant {
    /**
     * 缓存信息时间 30 分钟
     */
    long SHIRO_CACHE_TIMEOUT  = 30;

    // ======================== 缓存名称（用于二级缓存getCache，无后缀:）========================
    /** 用户缓存名称 */
    String CACHE_NAME_SYS_USER = "shiro_sys_user";
    /** 角色缓存名称 */
    String CACHE_NAME_SYS_ROLE = "shiro_sys_role";
    /** 权限缓存名称 */
    String CACHE_NAME_SYS_PERMISSION = "shiro_sys_permission";
    /** session缓存名称 */
    String CACHE_NAME_SESSION = "shiro_session";
    /** 默认缓存名称 */
    String CACHE_NAME_DEFAULT = "shiro_default";

    // ======================== 缓存键前缀（用于拼接业务键，带后缀:）========================
    /**
     * session 缓存前缀
     */
    String SHIRO_SESSION_KEY = "shiro_session:";

    /**
     * 用户认证缓存前缀
     */
    String SHIRO_SYS_USER_CACHE_KEY = "shiro_sys_user_cache:";

    /**
     * 角色缓存前缀
     */
    String SHIRO_SYS_ROLE_CACHE_KEY = "shiro_sys_role_cache:";

    /**
     * 权限缓存前缀
     */
    String SHIRO_SYS_PERMISSION_CACHE_KEY = "shiro_sys_permission_cache:";

    /**
     * 默认缓存前缀
     */
    String SHIRO_DEFAULT_CACHE_KEY = "shiro_default_cache:";
}
